<?php
/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of ValidadorUtil
 *
 * @author josem
 */
class ValidadorUtil {
    public static function is_wp_info($thing) {
        LogUtil::info("class ValidadorUtil", "is_wp_info");
	if ( is_object($thing) && is_a($thing, 'WP_Info') )
		return true;
	return false;
    }

    public static function is_empty_error($thing){        
        if($thing->get_error_code()){            
            return false;
        }        
        return true;
    }

    public static function validarTextoVacio($errors, $name, $message){        
        if(isset($_POST[$name])){            
            if(!empty($_POST[$name]) && trim($_POST[$name])!="" ){                
                return true;
            }else{                
                Util::agregarError($errors, $name, $message);
            }
        }        
        return false;
    }
    
    public static function validarComboVacio($errors, $name, $message){
        LogUtil::info("class ValidadorUtil", "validarComboVacio");
        if(isset($_POST[$name])){
            if($_POST[$name]!="-"){
                return true;
            }else{
               Util::agregarError($errors, $name, $message);
            }
        }
        return false;
    }
    
    public static function validarCasillaVerificacionMarcada($errors, $name, $message){
        LogUtil::info("class ValidadorUtil", "validarCasillaVerificacionMarcada");
        if(isset($_POST[$name])){
            return true;
        }else{
            Util::agregarError($errors, $name, $message);
        }
        return false;
    }
    
    public static function validarTipoDatoInput($errors, $name, $tipo, $message) {
        LogUtil::info("class ValidadorUtil", "validarTipoDatoInput");
        $flag='false';
        if(isset($_POST[$name])){
            if(!empty($_POST[$name])){
                switch ($tipo) {
                    case 'entero':
                      LogUtil::info("class ValidadorUtil", "validarTipoDatoInput:entero");
                      if(trim($_POST[$name])==strval(intval(trim($_POST[$name])))) {
                        $flag='true';
                      } else {
                        Util::agregarError($errors, $name, $message);
                      }
                      break;

                    case 'float':
                      LogUtil::info("class ValidadorUtil", "validarTipoDatoInput:float");
                      if(trim($_POST[$name])==strval(floatval(trim($_POST[$name])))) {
                        $flag='true';
                      } else {
                        Util::agregarError($errors, $name, $message);
                      }
                      break;

                    case 'cadena':
                      LogUtil::info("class ValidadorUtil", "validarTipoDatoInput:cadena");
                      if (is_string($_POST[$name])) {
                        $flag='true';
                      } else {
                        Util::agregarError($errors, $name, $message);
                      }
                      break;

                    case 'numerico':
                      LogUtil::debug("class ValidadorUtil", "validarTipoDatoInput:numerico ".trim($_POST[$name]));
                      if (ereg("^[0-9]{1,12}$", trim($_POST[$name]) ) ) {
                        $flag='true';
                      } else {
                        Util::agregarError($errors, $name, $message);
                      }
                      break;

                    case 'email':
                      LogUtil::debug("class ValidadorUtil", "validarTipoDatoInput:email ".$_POST[$name]);
                      if (ereg("^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@+([_a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]{2,200}\.[a-zA-Z]{2,6}$", trim($_POST[$name]) ) ) {
                           $flag='true';
                      } else {
                           Util::agregarError($errors, $name, $message);
                      }
                      break;

                      case 'positivo':
                      LogUtil::debug("class ValidadorUtil", "validarTipoDatoInput:positivo ".$_POST[$name]);
                      if ($_POST[$name]>0 ) {
                           $flag='true';
                      } else {
                           Util::agregarError($errors, $name, $message);
                      }
                      break;

                      case 'alfanumerico':
                      LogUtil::debug("class ValidadorUtil", "validarTipoDatoInput:alfanumerico ".$_POST[$name]);
                      if (ereg("^[a-zA-Z0-9]{6,30}$", $_POST[$name] ) ) {
                          $flag='true';
                      } else {
                          Util::agregarError($errors, $name, $message);
                      }
                      break;
                 }
                 if($flag=='true') return true;
            }
            return false;
        }
        return false;
    }
    public static function verificarError($data, $code){
        LogUtil::info("class ValidadorUtil", "is_empty_error");
        if($data!=null){
                if($data->get_error_message($code) != null){	        	
	            return true;
	        }
        }
        return false;
    }
    
    public static function validarFechaLaboralSeleccionada($errors, $name, $message){
        LogUtil::info("class ValidadorUtil", "validarFechaLaboralSeleccionada");
        if(isset($_POST[$name])){
            $strtotime = strtotime(Util::girarFecha($_POST[$name]));
            $date = date('N', $strtotime);
            if(!($date==6 || $date==7)){
                return true;
            }else{
                Util::agregarError($errors, $name, $message);
            }            
        }else{
            Util::agregarError($errors, $name, $message);
        }
        return false;
    }
}
?>
